package com.orangecy.rulesubscribe.template;

import com.orangecy.rulesubscribe.RuleEngineResult;
import com.orangecy.rulesubscribe.callback.GeneralActionCallBack;
import com.orangecy.rulesubscribe.context.RuleContext;

/**
 * @Author : orangeCy.奕
 * @Product : 猎豹养成产品源码
 * @Time : 2021/10/22
 * @Desc :编排抽象的模板定义 规范操作行为
 */
public interface RuleEngineTemplate<C extends RuleContext> {
    /**
     * 编排抽象模板接口
     * @param context
     * @param callBack
     * @return
     */
    RuleEngineResult invoke(C context, GeneralActionCallBack callBack);
}